package com.example.interfacecall.domain;

import com.alibaba.fastjson.annotation.JSONField;
import org.springframework.format.annotation.DateTimeFormat;
import org.springframework.validation.annotation.Validated;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.util.Date;


public class BaoHanNoticeInDto {
    @NotBlank(message = "appKey不能为空！")
    @JSONField(name = "appkey")
    private String appkey;

    @NotNull(message = "请求时间不能为空！")
    @JSONField(name = "timestamp")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    private Date timestamp;
    /**
     * 业务流水号
     */
    @NotBlank(message = "业务流水号不能为空！")
    @JSONField(name = "applyno")
    private String applyno;
    /**
     * 保函编号
     */
    @NotBlank(message = "保函编号不能为空！")
    @JSONField(name = "baohanno")
    private String baohanno;

    /**
     * 保函编号
     */
    @NotBlank(message = "出函机构！")
    @JSONField(name = "instname")
    private String instname;


    /**
     * 请求时间，格式:yyyy-MM-dd HH:mm:ss
     */
    @NotNull(message = "出函时间不能为空！")
    @JSONField(name = "timestamp")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    private Date generatetime;

    @NotBlank(message = "是否审核不能为空！")
    @JSONField(name = "applystatus")
    private String applystatus;

    @NotBlank(message = "报文签名不能为空！")
    @JSONField(name = "sign")
    private String sign;

    public String getAppkey() {
        return appkey;
    }

    public void setAppkey(String appkey) {
        this.appkey = appkey;
    }

    public Date getTimestamp() {
        return timestamp;
    }

    public void setTimestamp(Date timestamp) {
        this.timestamp = timestamp;
    }

    public String getApplyno() {
        return applyno;
    }

    public void setApplyno(String applyno) {
        this.applyno = applyno;
    }

    public String getBaohanno() {
        return baohanno;
    }

    public void setBaohanno(String baohanno) {
        this.baohanno = baohanno;
    }

    public String getInstname() {
        return instname;
    }

    public void setInstname(String instname) {
        this.instname = instname;
    }

    public Date getGeneratetime() {
        return generatetime;
    }

    public void setGeneratetime(Date generatetime) {
        this.generatetime = generatetime;
    }

    public String getApplystatus() {
        return applystatus;
    }

    public void setApplystatus(String applystatus) {
        this.applystatus = applystatus;
    }

    public String getSign() {
        return sign;
    }

    public void setSign(String sign) {
        this.sign = sign;
    }
}
